module hip.assets.audioclip; public import hip.asset; public import hip.api.audio.audioclip; class HipAudioClip : HipAsset, IHipAudioClip { import hip.util.reflection; IHipAudioClip clip; this() { super("HipAudioClip"); _typeID = assetTypeID!HipAudioClip(); import hip.hipaudio.audio; clip = HipAudio.getClip(); } public bool loadFromMemory(in ubyte[] data, HipAudioEncoding encoding, HipAudioType type, void delegate(in ubyte[]) onSuccess, void delegate() onFailure) { return clip.loadFromMemory(data,encoding,type,onSuccess,onFailure); } IHipAudioClip getAudioClipBackend(){return clip;} uint loadStreamed(in ubyte[] data, HipAudioEncoding encoding){return clip.loadStreamed(data,encoding);} uint getSampleRate(){return clip.getSampleRate;} uint updateStream(){return clip.updateStream;} void onUpdateStream(ubyte[] data, uint decodedSize){clip.onUpdateStream(data,decodedSize);} ubyte[] getClipData(){return clip.getClipData;} size_t getClipSize(){return clip.getClipSize;} float getDuration(){return clip.getDuration;} float getDecodedDuration(){return clip.getDecodedDuration;} void unload(){clip.unload;} immutable(HipAudioClipHint)* getHint(){return clip.getHint;} override void onFinishLoading(){} override void onDispose(){clip.unload();} HipAudioBufferAPI* _getBufferAPI(ubyte[] data, uint size){return clip._getBufferAPI(data, size);} }